1. Field of the Invention
The present invention relates generally to transmitting and receiving data organized into packets between different computer systems on multiple interconnected networks. More particularly, the present invention relates to a system and a method for routing multicast packets transmitted from a single computer system to a specific set of computer systems called a multicast group. The present invention provides a new method for building multicast distribution trees and efficiently delivering data to multicast groups.
2. Description of the Related Art
As computer systems continue to grow in complexity and user availability, the need for more efficient communication between computer systems also increases. Moreover, as more coworkers utilize computer systems on different local area networks (LANs), the need has developed for better multicast communication systems enabling more efficient data transfer between multiple interconnected LANs having multiple computer users on each LAN.
The transmission of data between computer systems can be grouped into three major categories: unicast, broadcast, and multicast. Unicasting involves the exchange of data between two individual computers. Broadcasting involves one computer transmitting data to all the other computers on interconnected networks. Finally, multicasting involves the transmission of data from computers to a specific group of one or more receiving computers.
Interconnected computers are typically set up in the following manner. A single LAN generally consists of a physical bus or ring to which multiple individual computers are all connected in common. ALAN is referred to as a network. Different networks can be interconnected using a router which is a single computer, that interconnects the LANs. Multiple interconnected networks are called an internet. In order to provide further background information on multicasting on networks, U.S. patent application entitled "Method and Apparatus for Operating a Multicast System on an Unreliable Network", filed on May 13, 1994, having Ser. No. 08/242,138, and which the Applicant is a co-inventor, is hereby incorporated by reference into this patent application. U.S. patent entitled "Multicast Routing Using Core Based Trees", issued Jul. 19, 1994, and having U.S. Pat. No. 5,331,637, is also hereby incorporated by reference into this patent application.
Typically, when a computer on a first network is transmitting data to be multicast to other networks, most of the routers and all of the networks are utilized in order to relay and transmit data to the receiver computers. By requiring most of the routers and all of the networks to be utilized, these networks may be "crowded" by the unnecessary multiple data transmissions in order to accommodate all the various communications being carried by the common networks and connecting routers of the internet.
In order to minimize the amount of communication traffic on an internet, various methods or protocols have been developed for multicast routing to reduce the number of routers and networks required to forward data to the desired receiver computers. Prior art protocols typically utilize complex algorithms in order to determine intended transmitting and receiving computers, and also the most efficient path and required routers to be utilized in order to forward the transmitted data to the intended receiver computers. This complexity is generally due to allowing more than one computer to transmit to a group. Moreover, prior art protocols require a sending computer to transmit data continuously when the data is available, as opposed to transmitting the data in response to specific requests.
Accordingly, it would be desirable to provide a method and system that increases the efficiency of multicasting procedures when only a single sending computer is required per group, while minimizing the complexity of the multicasting procedure and also enabling sending computers to transmit data only when the sending computers have received requests from one or more computers to receive the data.